1. Field of the Invention
Apparatus and methods consistent with the present invention relate to a communication apparatus which performs wireless communication of data frames, and in particular, to a communication apparatus capable of transmitting and receiving an aggregated frame created by aggregating a plurality of data frames.
2. Description of the Related Art
Packet communication is conducted by exchanging fixed-length or variable-length data units called data packets or data frames between terminals. In particular, packet communication conducted via a wireless communication medium is referred to as wireless packet communication. Wireless packet communication has a higher probability of data error during transmission/reception of data frames (data packets) than wired packet communication. Therefore, in wireless packet communication which uses, for example, a medium access control method based on the IEEE 802.11 standard, to increase reliability of communication a receiving terminal which has successfully received a data frame returns an ACK frame to a sending terminal that is a communication partner, thereby informing the sending terminal about the successful reception of the data frame.
However, in wireless packet communication, if an ACK frame is transmitted upon reception of each data frame, in spite of improved reliability, communication efficiency will be reduced compared to wired packet communication which does not use ACK frames. As shown in FIG. 19, to reduce the time required to transmit and receive ACK frames and communicate data frames efficiently, a technique has been proposed in which a transmitting terminal 851 transmits a data frame (hereinafter referred to as an aggregated frame) 80 created by aggregating a plurality of data packets, and a receiving terminal 852 reports successful reception of a plurality of data frames 82 contained in the aggregated frame 80 all at once using an ACK frame block 83 as shown in FIG. 19. Hereinafter the technique for transmitting data frames in aggregate form will be referred to as frame aggregation.
For example, under wireless LAN (Local Area Network) standard IEEE 802.11n being worked out by the IEEE 802 Committee, frame aggregation is being considered for adoption in the MAC (Media Access Control) sub-layer. FIG. 20 shows a packet format for aggregated frames described in IEEE 802.11n Draft 2.0. The aggregated frame in FIG. 20 is an A-MPDU (Aggregated MPDU) which is an aggregation of multiple MPDUs (MAC Protocol Data Units). The aggregated frame serves as a PSDU (Physical-layer Service Data Unit), which is a data unit supplied to the physical layer. In FIG. 12, multiple MPDUs are aggregated, and are delimited by control data (delimiter).
The wireless packet communication described above is implemented by the physical layer and the data-link layer of the OSI (Open Systems Interconnection) Basic Reference Model. On the other hand, a typical example of a protocol that implements congestion control and flow control in the transport layer, which is a higher layer of the wireless packet communication, is TCP (Transmission Control Protocol). TCP supports so-called feedback flow control, according to which a sending party adjusts a transmission data rate by using feedback information from a receiving party. TCP implements congestion control and flow control by causing each of a sending terminal and receiving terminal of TCP segments to manage a variable corresponding to transmit or receive buffer capacity, where the variable is called a window. Control using the window variable is referred to as window control, and is well known as a control method for data transfer. TCP header format defines a window size field for use to notify the sending party of a receive window size. The receiving terminal of TCP segments uses a TCP ACK segment, which is one of the TCP segments, to inform the sending terminal about the window size of the receiving terminal. The TCP ACK segment is created by setting an ACK flag in a TCP header to be ON.
The sending party of TCP segments can determine the first byte and length of a packet to be transmitted next, based on an acknowledge number in the TCP ACK segment delivered from the receiving party. Therefore, upon receiving a TCP segment, the receiving terminal needs to send out a TCP ACK segment to the sending terminal as soon as possible to notify the sending terminal of completion of reception. However, it is inefficient to send out a TCP ACK segment upon arrival of each TCP segment at the receiving terminal, because this increases the consumption of wireless resources. To deal with this, the receiving terminal normally accumulates some number of received TCP segments using a timer, and then transmits a TCP ACK segment that indicates completion of reception of multiple TCP segments.
Japanese Patent Laid-Open No. 2001-186179 (hereinafter, “Patent Document 1”) discloses a technique for data packet transfer control using TCP. According to the technique disclosed in Patent Document 1, at the start of transmission/reception of data packets, a receiving terminal returns a TCP ACK segment to a sending terminal without waiting for the expiration of waiting time defined for a receive window size.
Japanese Patent Laid-Open No. 2003-198556 (Hereinafter, “Patent Document 2”) discloses a wireless base station and a wireless terminal that transmit and receive data packets generated in a layer higher than a layer in which wireless transmission is conducted. When transmitting a ACK packet (specifically, a TCP ACK segment) on an uplink indicating that a data packet has been successfully received on a downlink going from the wireless base station to the wireless terminal, the wireless terminal changes a modulation method and coding rate to reduce a code error rate on the uplink. On the other hand, when a request for permission to transmit an ACK packet is received from a wireless terminal, the wireless base station gives transmission permission preferentially to the sender of the permission request.
In the related art, as described above, communication is conducted using both the frame aggregation performed in the MAC sub-layer and lower layers, and the feedback flow control performed in a higher layer such as the TCP layer. Therefore, there is a problem that transmission of feedback information, such as a TCP ACK segment from the receiving party, has to wait while frame aggregation is being performed in the lower layer to improve communication efficiency, although the feedback information is needed for the flow control performed in the higher layer. That is, pursuit of communication efficiency in lower layers (the data-link layer and below) can reduce throughput in a higher layer (TCP layer: transport layer).
Patent Document 1 only discloses how to transmit a TCP ACK segment in the transport layer without waiting for the expiration of the predetermined waiting time defined for the receive window size. Patent Document 1 does not suggest any way to solve the above-described problem that a transmission delay of feedback information caused by frame aggregation in lower layers can reduce throughput in a higher layer.
Patent Document 2 discloses a technique for changing the modulation method and coding rate in the physical layer during transmission of an IP packet containing a TCP ACK segment in its payload (hereinafter such an IP packet is referred to as “TCP ACK packet”) to improve the communication quality of the wireless links and thereby improve the transmission success of the TCP ACK packet. Also, Patent Document 2 discloses a technique for granting transmission permission preferentially to the sender wireless terminal of the TCP ACK packet, regardless of the communication quality of the uplink, even when the order of precedence in which transmission permission is granted to a plurality of wireless terminals by a wireless base station is determined according to the communication quality of the uplink between the wireless base station and each wireless terminal. However, Patent Document 2 does not suggest any way to solve the above-described problem that a transmission delay of feedback information caused by frame aggregation in lower layers can reduce throughput in a higher layer.
In feedback flow control at level 3 and higher levels of the OSI Basic Reference Model, the feedback information transmitted from the receiving party to the sending party is not limited to a TCP ACK segment. An example of the feedback information for flow control is a receiver report of RTP stream data transmitted from a receiving party to a sending party according to RTCP (RTP Control Protocol) used in conjunction with RTP (Real-time Transport Protocol) which is a transfer protocol for stream data. A sending apparatus provided with an RTCP receiver report from a receiving party can also adjust the transmission data rate.